<?xml version="1.0"?>
<doc>
    <assembly>
        <name>ImageResizer.Plugins.BatchZipper</name>
    </assembly>
    <members>
        <member name="P:ImageResizer.Plugins.BatchZipper.ItemEventArgs.Cancel">
            <summary>
            Set to true to cancel the job. Defaults to false for all events.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.BatchZipper.ItemEventArgs.Stats">
            <summary>
            A snapshot of job statistics
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.BatchZipper.JobCancelledException">
            <summary>
            Not always the execption you'll see in the JobEvent handler when you cancel a job.
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.BatchZipper.ItemResult">
            <summary>
            Holds the result of a items resize and/or compression attempt.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.BatchZipper.ItemResult.Successful">
            <summary>
            True if the item was successfully copied into the zip file.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.BatchZipper.ItemResult.ItemError">
            <summary>
            The exception that occured when resizing, opening, copying, or compressing the file.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.BatchZipper.JobResult.Successful">
            <summary>
            True if the job was completed successfully. Doesn't mean there were not errors on individual files, check ItemResults or Stats for that information.
            Just means there should be a .zip waiting.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.BatchZipper.JobResult.ItemResults">
            <summary>
            The individual results for each of the items requested.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.BatchZipper.JobResult.JobError">
            <summary>
            The exception that occured while processing the job. 
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.BatchZipper.JobResult.Stats">
            <summary>
            A snapshot of job statistics
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.BatchZipper.JobStats.RequestedItems">
            <summary>
            The number of items specified in the job description
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.BatchZipper.JobStats.SuccessfulItems">
            <summary>
            The number of items successfully added to the zip file
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.BatchZipper.JobStats.FailedItems">
            <summary>
            The number of items that failed to be added.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.BatchZipper.JobStats.ExecutionTime">
            <summary>
            The number of milliseconds that have elapsed since the job began.
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.BatchZipper.BatchResizeItem">
            <summary>
            Represents a file to resize/re-encode, the resize/encoding settings
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:ImageResizer.Plugins.BatchZipper.BatchResizeItem.#ctor(System.String,System.String,System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:ImageResizer.Plugins.BatchZipper.BatchResizeItem.#ctor(System.String,System.String,System.String,System.Boolean)" -->
        <member name="M:ImageResizer.Plugins.BatchZipper.BatchResizeItem.Copy">
            <summary>
            Copies the class, useful for preventing threading issues. Lightweight, only 4 pointers plus class instance.
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.BatchZipper.BatchResizeItem.SetImmutable">
            <summary>
            Blocks any future changes to the instance, throwing an InvalidOperationException.
            </summary>
        </member>
        <member name="P:ImageResizer.Plugins.BatchZipper.BatchResizeItem.PhysicalPath">
            <summary>
            Filesystem path, such as C:\Web\Project\Image\file.jpg. Throws an InvalidOperationException if you attempt to modify an immutable instance. 
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "P:ImageResizer.Plugins.BatchZipper.BatchResizeItem.ResizeQuerystring" -->
        <member name="P:ImageResizer.Plugins.BatchZipper.BatchResizeItem.TargetFilename">
            <summary>
            The target filename to use in the compressed folder. If left null, the filename of physicalPath will be used.
            Should not include the file extension, that will be assigned based on resizeQuerystring and the original extension.
            Throws an InvalidOperationException if you attempt to modify an immutable instance. 
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.BatchZipper.BatchResizeSettings">
            <summary>
            Use this to configure the a resize job. After you start the job, do not modify this instance.
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:ImageResizer.Plugins.BatchZipper.BatchResizeSettings.#ctor(System.String,System.Guid,System.Collections.Generic.IList{ImageResizer.Plugins.BatchZipper.BatchResizeItem})" -->
        <member name="M:ImageResizer.Plugins.BatchZipper.BatchResizeSettings.FixDuplicateFilenames(System.String)">
            <summary>
            Loops through all files, assigning targetFilenames if they are null,
            and eliminating duplicate names by adding _1, _2, etc.
            Also normalizes filenames for use in zip folder.
            Used internally. May be used externally also if calling code wishes to to know the final file names.
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.BatchZipper.BatchResizeSettings.NormalizePathForUseInZipFile(System.String)">
            <summary>
            Utility routine for transforming path names from filesystem format (on Windows that means backslashes) to
            a format suitable for use within zipfiles. This means trimming the volume letter and colon (if any) And
            swapping backslashes for forward slashes.
            </summary>
            <param name="pathName">source path.</param>
            <returns>transformed path</returns>
        </member>
        <member name="M:ImageResizer.Plugins.BatchZipper.BatchResizeSettings.AppendFinalExtensions">
            <summary>
            Adds the correct, final extension  to each target file name.Internal use only.
            </summary>
        </member>
        <member name="E:ImageResizer.Plugins.BatchZipper.BatchResizeSettings.ItemEvent">
            <summary>
            Fired when a file is successfully written to the zip file, or if an item fails to be added to the zip file.
            Will execute on a thread pool thread. Catch all your exeptions, or they will cause the jobe to fail.
            Set e.Cancel to cancel the job. 
            Uses the same thread the job is processing on - I/O bound tasks in handlers should be async if possible.
            </summary>
        </member>
        <member name="E:ImageResizer.Plugins.BatchZipper.BatchResizeSettings.JobEvent">
            <summary>
            Fires when the Zip file has successfully been written to disk, when the job fails.
            Will execute on a thread pool thread. Catch all your exeptions, or they will cause the asp.net proccess to restart!
            </summary>
        </member>
        <member name="T:ImageResizer.Plugins.BatchZipper.BatchResizeWorker">
            <summary>
            Synchronous worker class, not thread safe. Should be executed and touched by a single thread.
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.#ctor(ImageResizer.Plugins.BatchZipper.BatchResizeSettings)">
            <summary>
            Creates a new worker instance. Do not modify the settings while executing the Work() method.
            </summary>
            <param name="s"></param>
        </member>
        <member name="F:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.s">
            <summary>
            Stores the job settings. 
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.items">
            <summary>
            Used to map ZIP item names to instances. Required do to DotNetZipLib's callback system.
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.results">
            <summary>
            Used to store the results of each resized item.
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.startedAt">
            <summary>
            When the job was started
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.finishedAt">
            <summary>
            When the job was finished
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.Work">
            <summary>
            Executes the job, and returns when it is complete or has failed.
            Exceptions are delivered by events registered in the BatchResizeSetting instance - 
            throws no execptions, unless you throw an execption inside a job event handler.
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.Work(System.Object)">
            <summary>
            Not for external use. Assumes 'state' is a BatchResizeSettings instance, and stores in in a class member.
            Next, it completes (or fails at) the job. Throws exceptions only if (a) state is not a BatchResizeSettings instance, or (b) an exception is thrown by and handler of the JobEvent (Failed) event.
            </summary>
            <param name="state"></param>
        </member>
        <member name="M:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.wouldResize(ImageResizer.Plugins.BatchZipper.BatchResizeItem)">
            <summary>
            Returns true if the specified item is going to be resized.
            </summary>
            <param name="i"></param>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.WriteItemCallback(System.String,System.IO.Stream)">
            <summary>
            Called from ZipFile.Save as each queued entry is processed.
            </summary>
            <param name="entryName"></param>
            <param name="stream"></param>
        </member>
        <member name="M:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.CopyStreamTo(System.IO.Stream,System.IO.Stream)">
            <summary>
            Copies a read stream to a write stream.
            </summary>
            <param name="src"></param>
            <param name="dest"></param>
        </member>
        <member name="F:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.savingCompletedEventArgs">
            <summary>
            Stores the results of the Zip file saving betweent he time Saving_Completed fires, and we close the ZipFile instance and fire our own event
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.successfulItems">
            <summary>
            How many items have been successfully resized and zipped
            </summary>
        </member>
        <member name="F:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.failedItems">
            <summary>
            How many items failed to be resized and zipped
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.GetJobStats">
            <summary>
            Returns a snapshots of the job statistics
            </summary>
            <returns></returns>
        </member>
        <member name="M:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.ItemFailed(Ionic.Zip.ZipErrorEventArgs)">
            <summary>
            Called when an error occurs during Save() (Whitch executes WriteItemCallback)
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.ItemFailed(ImageResizer.Plugins.BatchZipper.BatchResizeItem,System.Exception)">
            <summary>
            Called when ZipFile.AddEntry fails. (Most errors should NOT happen here).
            </summary>
            <param name="i"></param>
            <param name="ex"></param>
        </member>
        <member name="M:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.CreateDestinationFolder">
            <summary>
            If the parent folder of the destination archive is missing, this method will create it.
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.BatchZipper.BatchResizeWorker.BuildDict(System.Collections.Generic.IEnumerable{ImageResizer.Plugins.BatchZipper.BatchResizeItem})">
            <summary>
            Builds a dictionary from a collection of BatchResizeItems, using .targetFilename as the key.
            </summary>
            <param name="files"></param>
            <returns></returns>
        </member>
        <member name="T:ImageResizer.Plugins.BatchZipper.BatchResizeManager">
            <summary>
            Handles the threading of a batch resize procedure. Use the static method to queue a resize on a thread pool thread
            </summary>
        </member>
        <member name="M:ImageResizer.Plugins.BatchZipper.BatchResizeManager.BeginBatchResize(ImageResizer.Plugins.BatchZipper.BatchResizeSettings)">
            <summary>
            Begins a batch resize operation on a background thread. If the ASP.NET process recycles, or the server reboots, the process will be aborted.
            
            </summary>
            <param name="s"></param>
        </member>
    </members>
</doc>
